Some communication networks and protocols support the delivery of multiple logical or virtual links over a single physical link. For example, the Infiniband™ link supports multiple virtual links referred to as virtual lanes (VLs). Examples for communication links that may utilize a shared receiving buffer among the different VLs are known in the art.
U.S. Pat. No. 7,327,749, whose disclosure is incorporated herein by reference, describes a system and a method for shared buffering of InfiniBand virtual lanes and queue pairs. Instead of allocating dedicated memory space (e.g. a set of FIFO queues), a shared memory dynamically accommodates traffic received on different virtual lanes and/or queue pairs of an InfiniBand network.
U.S. Pat. No. 7,609,636, whose disclosure is incorporated herein by reference, describes a system and a method for implementing flow control, at the link and/or transport layers, for InfiniBand receive traffic. A shared memory structure may be used for combined queuing of virtual lane and queue pair traffic. Each virtual lane is allocated a number of memory buffers.
U.S. Pat. No. 8,149,710, whose disclosure is incorporated herein by reference, describes a method comprising the following steps: A first set of inputs is received, comprising a first pluralities of entities and a first traffic behavior; a first region of a buffer corresponding to the first traffic behavior is determined; the first plurality of entities is assigned to the first region; hierarchical relationships between at least some of the first plurality entities is determined; a first shared buffer space is determined; and at least one threshold for each of the first plurality of entities is assigned. The threshold may comprise a maximum amount of the first shared buffer space that may be allocated to an entity.